const passwordValidator = (req, res, next) => {
  const password = req.body.password;
  const errors = [];

  if (!password || password.length < 8) {
    errors.push('密码长度至少8位');
  }
  if (!/[A-Z]/.test(password)) {
    errors.push('必须包含至少一个大写字母');
  }
  if (!/[a-z]/.test(password)) {
    errors.push('必须包含至少一个小写字母');
  }
  if (!/\d/.test(password)) {
    errors.push('必须包含至少一个数字');
  }
  if (!/[@$!%*?&]/.test(password)) {
    errors.push('必须包含至少一个特殊字符(@$!%*?&)');
  }

  if (errors.length > 0) {
    return res.status(400).json({
      code: 400,
      message: '密码复杂度不足',
      details: errors
    });
  }

  next();
};

module.exports = passwordValidator;